/**
 * ***************************************************************************** Copyright (c) 2000,
 * 2006 IBM Corporation and others. All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0 which accompanies this
 * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
 *
 * <p>Contributors: IBM Corporation - initial API and implementation
 * *****************************************************************************
 */
package org.tigris.subversion.subclipse.ui.internal;

import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.swt.graphics.FontMetrics;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.widgets.Control;

public class PixelConverter {

  private final FontMetrics fFontMetrics;

  public PixelConverter(Control control) {
    GC gc = new GC(control);
    try {
      gc.setFont(control.getFont());
      fFontMetrics = gc.getFontMetrics();
    } finally {
      gc.dispose();
    }
  }

  public int convertHeightInCharsToPixels(int chars) {
    return Dialog.convertHeightInCharsToPixels(fFontMetrics, chars);
  }

  public int convertHorizontalDLUsToPixels(int dlus) {
    return Dialog.convertHorizontalDLUsToPixels(fFontMetrics, dlus);
  }

  public int convertVerticalDLUsToPixels(int dlus) {
    return Dialog.convertVerticalDLUsToPixels(fFontMetrics, dlus);
  }

  public int convertWidthInCharsToPixels(int chars) {
    return Dialog.convertWidthInCharsToPixels(fFontMetrics, chars);
  }
}
